// pages/profile/profile.js
Page({
  data: {
    userInfo: null,
    hasUserInfo: false,
    canIUseGetUserProfile: false,
    openid: ''
  },

  onLoad() {
    // 检查是否可以使用 wx.getUserProfile API
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      });
    }
    
    // 尝试获取缓存中的用户信息
    const userInfo = wx.getStorageSync('userInfo');
    if (userInfo) {
      this.setData({
        userInfo: userInfo,
        hasUserInfo: true
      });
    }
    
    // 获取openid
    this.getOpenid();
  },
  
  // 获取用户openid
  getOpenid() {
    const app = getApp();
    if (app.globalData.openid) {
      this.setData({
        openid: app.globalData.openid
      });
    } else {
      wx.cloud.callFunction({
        name: 'login',
        success: res => {
          console.log('login云函数返回:', res);
          if (res.result && res.result.openid) {
            app.globalData.openid = res.result.openid;
            this.setData({
              openid: res.result.openid
            });
            console.log('成功获取openid:', res.result.openid);
          } else {
            console.error('login云函数返回数据异常:', res);
            wx.showToast({
              title: '获取用户信息失败',
              icon: 'none'
            });
          }
        },
        fail: err => {
          console.error('获取openid失败', err);
          wx.showToast({
            title: '获取用户信息失败',
            icon: 'none'
          });
        }
      });
    }
  },

  // 使用新版接口获取用户信息
  getUserProfile() {
    wx.getUserProfile({
      desc: '用于完善用户资料',
      success: (res) => {
        // 将用户信息存入缓存
        wx.setStorageSync('userInfo', res.userInfo);
        
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        });
        
        wx.showToast({
          title: '登录成功',
          icon: 'success'
        });
      },
      fail: (err) => {
        console.error('获取用户信息失败', err);
        wx.showToast({
          title: '获取用户信息失败',
          icon: 'none'
        });
      }
    });
  },
  
  // 退出登录
  logout() {
    wx.showModal({
      title: '提示',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除缓存中的用户信息
          wx.removeStorageSync('userInfo');
          
          this.setData({
            userInfo: null,
            hasUserInfo: false
          });
          
          wx.showToast({
            title: '已退出登录',
            icon: 'success'
          });
        }
      }
    });
  },
  
  // 跳转到我的帖子页面
  navigateToMyPosts() {
    if (!this.data.hasUserInfo) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }
    
    wx.navigateTo({
      url: '/pages/mypost/mypost'
    });
  }
});